Welcome to JavaScript!

5.13 回调函数练习2

要求:计算(2+3)*4的值:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Title</title>

<script type="text/javascript">

function a(x,y,z,m){ //m表示形参,表示代入的函数b

var re=x+y;

return m(re,z); //执行函数b,实参re和z,再代入函数b的x,y

};

function b(x,y){ //x,y与上面的x,y完全不一样,这时执行x=re代入的实参,y执行y=z,即z=4的实参

return x*y;

};

var c=a(2,3,4,b);

alert(c)

</script>

</head>

<body>

</body>

</html>

返回值:20


另一种方法:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Title</title>

<script type="text/javascript">

function a(x,y,){

return x+y;

};

function b(x,y,z,m){ //代入b的4个实参,其中形参代入的是函数a

var re=m(x,y); //执行回调函数a,将上面的实参转入a函数

return re*z

};

var c=b(2,3,4,a);

alert(c)

</script>

</head>

<body>

</body>

</html>

返回值:20